from flask import g, redirect, url_for
from functools import wraps


def login_required(func):
    # 写装饰器的时候  需要使用functools.wraps保留原来返回的那个函数的原始信息(参数，函数名字等)
    @wraps(func)
    def inner(*args, **kwargs):
        if hasattr(g, "user"):
            return func(*args, **kwargs)
        else:
            # 这里的url_for 是反转
            return redirect(url_for("front.login"))
    return inner